﻿using Tibet.GUI.Contrato;
using Tibet.Entidades;
using Tibet.Logica.FabricaLogica;
using Tibet.Logica.Comandos;
using Entidades;
using Tibet.Logica.Comandos.ComandosConfiguracion;
using Tibet.Entidades.FabricaEntidades;


namespace Tibet.GUI.Presentador
{
    public class PresentadorConfig 
    {
        private IContratoConfig _vista;

        public PresentadorConfig(IContratoConfig vista)
        {
            _vista = vista;
        }

    public void LlenarDatos()
    {
        SingletonConfig sc = SingletonConfig.ObtenerInstancia();

        _vista.NameMailServer.Text = sc.DominioCorreo;
        _vista.PortMailServer.Text = sc.PuertoCorreo;
        _vista.SvnDir.Text = sc.PathRepo;
        _vista.SvnName.Text = sc.NombreRepo;
        _vista.DBDir.Text = sc.ServidorBD;
        _vista.DBName.Text = sc.NombreBD;
        _vista.DBPass.Text = sc.PasswordBD;
        _vista.DBUser.Text = sc.UsuarioBD;
        _vista.DllDir.Text = sc.DirectorioDll;


    }

    public void EscribirDatos()
    {
        Entidad EntidadConfig = FabricaEntidades.ObtenerSingletonConfig();
        (EntidadConfig as SingletonConfig).DominioCorreo = _vista.NameMailServer.Text;
        (EntidadConfig as SingletonConfig).PuertoCorreo = _vista.PortMailServer.Text;
        (EntidadConfig as SingletonConfig).PathRepo = _vista.SvnDir.Text;
        (EntidadConfig as SingletonConfig).NombreRepo = _vista.SvnName.Text;
        (EntidadConfig as SingletonConfig).ServidorBD = _vista.DBDir.Text;
        (EntidadConfig as SingletonConfig).NombreBD = _vista.DBName.Text;
        (EntidadConfig as SingletonConfig).PasswordBD = _vista.DBPass.Text;
        (EntidadConfig as SingletonConfig).UsuarioBD = _vista.DBUser.Text;
        (EntidadConfig as SingletonConfig).DirectorioDll = _vista.DllDir.Text;

        Comando ComandoConfig = FabricaComandoConfig.ObtenerComandoEscribirConfig();
        ComandoConfig.Entidad = EntidadConfig;
        (ComandoConfig as EscribirConfig).Ejecutar();
    }

    }
}